翻訳と辞書 |
name capture In beta reduction, when a term containing a free occurrence of a variable v is substituted into another term where v is bound the free v becomes spuriously bound or "captured". E.g. ( x . y . x y) y --> y . y y (WRONG)
This problem arises because two distinct variables have the same name. The most common solution is to rename the bound variable using alpha conversion: ( x . y' . x y') y --> y' . y y'
Another solution is to use de Bruijn notation. Note that the argument expression, y, contained a free variable. The whole expression above must therefore be notionally contained within the body of some lambda abstraction which binds y. If we never reduce inside the body of a lambda abstraction (as in reduction to weak head normal form) then name capture cannot occur. (1995-03-14)
スポンサード リンク
翻訳と辞書 : 翻訳のためのインターネットリソース |
Copyright(C) kotoba.ne.jp 1997-2016. All Rights Reserved.
|
|